package com.yfqy.app.modules.address.service;

import com.yfqy.app.modules.address.dto.AreaQueryDTO;
import com.yfqy.app.modules.address.dto.DeliveryAddressDTO;
import com.yfqy.app.modules.address.vo.AreaVO;
import com.yfqy.app.modules.address.vo.DeliveryAddressVO;

import java.util.List;

public interface AddressService {

    /**
     * 添加收货地址
     */
    Long addAddress(DeliveryAddressDTO addressDTO);

    /**
     * 更新收货地址
     */
    void updateAddress(Long addressId, DeliveryAddressDTO addressDTO);

    /**
     * 删除收货地址
     */
    void deleteAddress(Long addressId);

    /**
     * 获取地址详情
     */
    DeliveryAddressVO getAddressDetail(Long addressId);

    /**
     * 获取用户地址列表
     */
    List<DeliveryAddressVO> customerAddress();

    /**
     * 设置默认地址
     */
    void setDefaultAddress(Long addressId);

    List<AreaVO> areas(AreaQueryDTO queryDTO);
}